package marchsoft.modules.tiku.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import marchsoft.base.PageVO;
import marchsoft.modules.tiku.entity.ERepository;
import marchsoft.base.IBasicService;
import marchsoft.modules.tiku.entity.dto.ERepositoryAndPracticeRecordDTO;
import marchsoft.modules.tiku.entity.dto.SelectRepositoryDto;
import marchsoft.modules.tiku.entity.excel.RepositoryExcel;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;


/**
 * <p>
 * 题库 服务类
 * </p>
 *
 * @author zsy
 * @since 2022-03-29
 */
public interface IERepositoryService extends IBasicService<ERepository> {


    IPage<SelectRepositoryDto> getAll(SelectRepositoryDto repositoryDto, PageVO pageVO);

    void download(List<SelectRepositoryDto> repositoryDtoList, HttpServletResponse response) throws IOException, IOException;

    void saveRepository(List<RepositoryExcel> cachedDataList);

    IPage<ERepository> getBySafeTypeId(PageVO pageVO, Long id);

    ERepositoryAndPracticeRecordDTO getRepositoryAndPracticeRecordIdBySafeTypeId(Long safeTypeId);
}
